package Terminal.View.Gestori;

import javax.swing.JOptionPane;

import Terminal.View.TimeLoggingFrame;

public class GestoreErrore extends GestoreInterfaccia{

	private static GestoreErrore _istanza;
	
	private GestoreErrore()
	{}
	
	public static GestoreErrore istanza()
	{
		if (_istanza == null)
			_istanza = new GestoreErrore();
		return _istanza;
	}
	
	public void smistaScenario(String scenario)
	{
		switch (scenario) {	
		
		case "ErroreGenerico" :
			this.erroreGenerico();			
			break;
			
		case "CreaSottoprogetto":
			this.erroreSottoprogetto();
			break;
			
		case "CredenzialiErrate":
			this.credenzialiErrate();
			break;
			
		case "CreaProgetto":
			this.erroreProgetto();
			break;

		default:
			this.erroreGenerico();
			break;
		}
				
	}
	
	private void erroreProgetto() {
		JOptionPane.showConfirmDialog(TimeLoggingFrame.istanza(), "Sono spiacente non posso salvare il progetto.\nRicorda: \n- Il progetto deve avere un nome, \n- Il progetto deve avere le date di inizio e fine, \n- Le date del progetto devono essere in ordine","Errore salvataggio", JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE);//,JOptionPane.OK_OPTION);
		
	}

	private void erroreSottoprogetto() {
		JOptionPane.showConfirmDialog(TimeLoggingFrame.istanza(), "Sono spiacente non posso salvare il sottoprogetto.\nRicorda: \n- Il sottoprogetto deve avere un nome, \n- Il sottoprogetto deve avere le date di inizio e fine, \n- Le date del sottoprogetto devono essere in ordine, \n- Le date del sottoprogetto devono essere comprese in quelle del progetto, \n- Il budget del sottoprogetto deve essere inferiore a quello del progetto \n- Il sottoprogetto deve avere un manager.","Errore salvataggio", JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE);//,JOptionPane.OK_OPTION);
		
	}

	private void erroreGenerico()
	{
		System.out.println("Errore Generico");
	}
	
	private void credenzialiErrate(){
		JOptionPane.showConfirmDialog(TimeLoggingFrame.istanza(), "Sono spiacente non posso eseguire l'accesso. \n Prova a riscrivere correttamente le tue credenziali","Accesso negato", JOptionPane.DEFAULT_OPTION,JOptionPane.ERROR_MESSAGE);//,JOptionPane.OK_OPTION);
	}
	
}
